package admin.server.service;

import admin.common.vo.PageVo;
import admin.server.model.dto.UmsMenuNodeDto;
import admin.dao.model.UmsMenu;

import java.util.List;

/**
 * 后台菜单管理Service
 * Created by zgb on 2020/2/2.
 */
public interface UmsMenuService {
    /**
     * 创建后台菜单
     */
    void create(UmsMenu umsMenu) throws Exception;

    /**
     * 修改后台菜单
     */
    int update(Long id, UmsMenu umsMenu) throws Exception;

    /**
     * 根据ID获取菜单详情
     */
    UmsMenu getItem(Long id);

    /**
     * 根据ID删除菜单
     */
    void delete(Long id);

    /**
     * 分页查询后台菜单
     */
    PageVo<UmsMenu> list(Long parentId, Integer pageSize, Integer pageNum);
    List<UmsMenu> list(Integer level);

    /**
     * 树形结构返回所有菜单列表
     */
    List<UmsMenuNodeDto> treeList(Boolean withResourceYn);


    /**
     * 修改菜单显示状态
     */
    int updateHidden(Long id, Boolean hidden);


    List<UmsMenu> leafList( );
    List<UmsMenu> noLeafList( );


}
